package com.ruoyi.project.task.mission.mapper;

import com.ruoyi.project.person.info.domain.PersonInfo;
import com.ruoyi.project.task.mission.domain.TaskMission;
import com.ruoyi.project.task.mission.domain.TaskMissionVo;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author Pathosis
 * @date 2020-09-17 11:10
 * @description: 任务创建的mapper
 */
@Repository
public interface TaskMissionMapper {
    /**
     * 查询所有的TaskMissionVo + 分页 + 条件查询
     * @param taskMissionVo
     * @return
     */
    List<TaskMissionVo> selectTaskMissionList(TaskMissionVo taskMissionVo);

    /**
     * 校验任务标题名称
     */
    String selectTaskMissionByTitle(String missionTitle);

    /**
     * 校验任务执行人
     */
    PersonInfo checkInfoNameUnique(TaskMissionVo tmv);

    /**
     * 新增任务
     */
    int insertTaskMissionVo(TaskMission taskMission);

    /**
     * 通过名称查询person信息
     * @param infoName
     * @return
     */
    PersonInfo selectPersonInfoByInfoName(String infoName);

    /**
     * 查询所有PersonInfo
     * @return
     */
    List<PersonInfo> selectAllPerson();

    /**
     * 删除选择的
     * @param missionIds
     * @return
     */
    int deleteTaskMissionByIds(Long[] missionIds);

    /**
     * 根据id查询
     * @param missionId
     * @return
     */
    TaskMission selectTaskMissionById(Long missionId);

    /**
     * 修改taskMission
     * @param taskMission
     * @return
     */
    int updateTaskMission(TaskMission taskMission);

    /**
     * 查询单个valueObject对象
     * @return
     */
    TaskMissionVo selectTaskMissionVoById(Long missionId);
}
